package it.unicam.cs.cosy.bioshape.core.perception;

/**
 * Defines a generic perception facility.
 * 
 * @author Federico buti
 */
public interface Perception {

	/**
	 * @return the radius of the perception volume
	 */
	double getRadius();

	/**
	 * Sets the radius of the perception area. This value changes according to
	 * the chosen area.
	 * 
	 * @param newRadius
	 *            the new radius of the perception volume
	 */
	void setRadius(double newRadius);

	/**
	 * Must return the perceived area according to the perception shape of the
	 * volume.
	 * 
	 * @param center
	 *            the point from which calculate the perception area
	 * 
	 * @return the area of perception
	 */
	// TODO vedere di fargli ritornare qualcosa di diverso da DOUBLE!! O__o
	double getPerceptionArea(double center);
}
